<?php
	require_once("frmCookie.php");
	
	$iOpcion = $_REQUEST['iOpcion'];
	$focus = "nombre";
	
	$sql = "select s.idSucursal, s.nombreInterno as nombre from sucursales s order by nombre";
	$sucursales = readSQL($sql);
	
	$sql = "select p.idPerfil, p.nombre from perfiles p order by nombre";
	$perfiles = readSQL($sql);
	
	if($_REQUEST['idUsuario']!='')
	{
		//Cargo los datos
		
		$id = $_REQUEST['idUsuario'];
		
		$sql = "Select u.idUsuario, u.nombre, u.apellido, u.username, u.password, u.nroLegajo, u.idMotorola from usuarios u where u.idUsuario = $id";
		$usuarios = readSQL($sql);
		foreach($usuarios as $usuario)
		{
			$nombre = $usuario['nombre'];
			$apellido = $usuario['apellido'];
			$username = $usuario['username'];
			$legajo = $usuario['nroLegajo'];
			$idMotorola = $usuario['idMotorola'];
			
			$sql = "select s.idSucursal, s.nombreInterno as nombre from sucursales s join sucursalesxusuario sxu where s.idSucursal = sxu.idSucursal and sxu.idUsuario = $id";
			$sucursalesxUsuario = readSQL($sql);
			
			$sql = "select p.idPerfil, p.nombre from perfiles p join usuariosxperfil uxp where p.idPerfil = uxp.idPerfil and uxp.idUsuario = $id";
			$perfilesxUsuario = readSQL($sql);
		}
	}
	
	if($iOpcion == 2 || $iOpcion == 7 || $iOpcion == 10)
	{
		$nombre = $_POST['nombre'];
		$apellido = $_POST['apellido'];
		$username = $_POST['usuario'];
		$contrasena = $_POST['contrasena'];
		$legajo = $_POST['legajo'];
		$idMotorola = $_POST['idMotorola'];
		$idsSucursales = preg_split('/,/', $_POST['sucursales']);
		$idsPerfiles = preg_split('/,/', $_POST['perfiles']);
	}
	
	if($iOpcion == 2)
	{
		//Agrega
		
		$sql = "Select idUsuario from usuarios where username = '$username'";
		$usuarios = readSQL($sql);
		if(count($usuarios)>0)
		{
			//Si ya existe el codigo
			$mensaje = "No se pudo agregar el Usuario: $apellido, $nombre porque el Nombre de Usuario ya existe.";
			$clase = "error";
			//Seteo el componente que va a adquirir foco
			$focus = "usuario";
		}
		else
		{
			//Si no existe
			$sql = "insert into usuarios set nombre = '$nombre', apellido='$apellido', username='$username', password=md5('$contrasena'), nroLegajo='$legajo', idMotorola='$idMotorola';";
			foreach($idsSucursales as $idSucursal)
			{
				$sql .= "insert into sucursalesxusuario set idSucursal = '$idSucursal', idUsuario = LAST_INSERT_ID();";
			}
			foreach($idsPerfiles as $idPerfil)
			{
				$sql .= "insert into usuariosxperfil set idPerfil = '$idPerfil', idUsuario = LAST_INSERT_ID();";
			}
			if(transactionSQL($sql,true))
			{
				header("Location: usuarios.php?iOpcion=8");
			}
			else
			{
				$mensaje = "No se pudo agregar el Usuario: $nombre.";
				$clase = "error";
			}
		}
	}
	if($iOpcion == 4)
	{
		//Elimina
		$sql  = "Delete from usuariosxperfil where idUsuario = $id;";
		$sql  .= "Delete from sucursalesxusuario where idUsuario = $id;";
		$sql  .= "Delete from usuarios where idUsuario = $id;";

		if(transactionSQL($sql ,true))
		{
			$mensaje = "Se ha eliminado el Usuario: $username.";
			$clase = "ok";
		}
		else
		{
			$mensaje = "No se pudo eliminar el Usuario: $username.";
			$clase = "error";
		}
		$sql  = "Select u.idUsuario, u.nombre, u.apellido from usuarios u order by u.apellido";
		$usuarios = readSQL($sql );
	}
	if($iOpcion == 3 || $iOpcion == 5)
	{
		//Lista
		$sql  = "Select u.idUsuario, u.nombre, u.apellido from usuarios u order by u.apellido";
		$usuarios = readSQL($sql );
	}
	if($iOpcion == 7)
	{
		//Modifica
		
		$sql = "Select u.idUsuario from usuarios u where u.username = '$username' and u.idUsuario <> $id";
		$usuarios = readSQL($sql);
		
		if(count($usuarios)>0)
		{
			//Si ya existe el codigo
			$mensaje = "No se pudo cambiar el Nombre de Usuario del Usuario al de: $username porque el mismo ya existe.";
			$clase = "error";
			//Seteo el componente que va a adquirir foco
			$focus = "usuario";
			//Cambio el iOpcion para que vuelva a cargar el formulario y no se pierdan los datos
			$iOpcion = 6;
		}
		else
		{
			//Si no existe
			$sql = "Delete from usuariosxperfil where idUsuario = $id;";
			$sql .= "Delete from sucursalesxusuario where idUsuario = $id;";
			
			$sql .= "update usuarios set nombre = '$nombre', apellido='$apellido', username='$username', nroLegajo='$legajo', idMotorola='$idMotorola'";
			if($contrasena != '')
			{
				$sql .= ", password = md5('$contrasena')";	
			}
			$sql .= " where idUsuario = '$id';";
			
			foreach($idsSucursales as $idSucursal)
			{
				$sql .= "insert into sucursalesxusuario set idSucursal = '$idSucursal', idUsuario = '$id';";
			}
			foreach($idsPerfiles as $idPerfil)
			{
				$sql .= "insert into usuariosxperfil set idPerfil = '$idPerfil', idUsuario = '$id';";
			}
			if(transactionSQL($sql,true))
			{
				$mensaje = "El Usuario: $username ha sido modificado.";
				$clase = "ok";
			}
			else
			{
				$mensaje = "No se pudo modificar el Usuario: $username.";
				$clase = "error";
				//Cambio el iOpcion para que vuelva a cargar el formulario y no se pierdan los datos
				$iOpcion = 6;
			}
		}
		$sql = "Select u.idUsuario, u.nombre, u.apellido from usuarios u order by u.apellido";
		$usuarios = readSQL($sql );
	}
	if($iOpcion == 8)
	{
		$mensaje = "El usuario se ha agregado correctamente.";
		$clase = "ok";
	}
	if($iOpcion == 9)
	{
		$id = $_SESSION['idUsuario'];
		$focus = "contrasena";
	}
	if($iOpcion == 10)
	{
		$focus = "contrasena";
		$sql = "update usuarios set password=md5('$contrasena') where idUsuario = $id;";
		if(transactionSQL($sql, true))
		{
			$mensaje = "La Contraseña se ha cambiado correctamente.";
			$clase = "ok";
		}
		else
		{
			$mensaje = "No se ha podido cambiar la Contraseña.";
			$clase = "error";
		}
		$iOpcion = 9;
	}
	
	//Si hubo error, pide los datos que estaban en la grilla
	if($clase == "error")
	{
		$sql = "select s.idSucursal, s.nombreInterno as nombre from sucursales s where s.idSucursal in(";
		$i=0;
		foreach($idsSucursales as $idSucursal)
		{
			if($i == 0)
			{
				$sql .= $idSucursal;
			}
			else
			{
				$sql .= ", ".$idSucursal;	
			}
			$i++;
		}
		$sql .= ") order by nombre";
		$sucursalesxUsuario = readSQL($sql);
		
		$sql = "select p.idPerfil, p.nombre from perfiles p where p.idPerfil in(";
		$i=0;
		foreach($idsPerfiles as $idPerfil)
		{
			if($i == 0)
			{
				$sql .= $idPerfil;
			}
			else
			{
				$sql .= ", ".$idPerfil;	
			}
			$i++;
		}
		$sql .= ") order by nombre";
		$perfilesxUsuario = readSQL($sql);
	}
?>
<html>
	<head>
    	<?php
		require("frmHeader.php");
		?>
        <script language="javascript" src="scripts/validar.js"></script>
        <script language="javascript">
		
		function validar()
		{
			if(frm.nombre != null && frm.nombre.style.display != 'none' && frm.nombre.value == "")
			{
				alert("Por favor ingrese el Nombre.");
				frm.nombre.focus();
				return false;
			}
			if(frm.apellido != null && frm.apellido.style.display != 'none' && frm.apellido.value == "")
			{
				alert("Por favor ingrese el Apellido.");
				frm.apellido.focus();
				return false;
			}
			if(frm.usuario != null && frm.usuario.style.display != 'none' && frm.usuario.value == "")
			{
				alert("Por favor ingrese el Nombre de Usuario.");
				frm.usuario.focus();
				return false;
			}
			if(frm.idUsuario.value == '')
			{
				if(frm.contrasena != null && frm.contrasena.style.display != 'none' && frm.contrasena.value == "")
				{
					alert("Por favor ingrese la Contraseña.");
					frm.contrasena.focus();
					return false;
				}
				if(frm.repetirContrasena != null && frm.repetirContrasena.style.display != 'none' && frm.repetirContrasena.value == "")
				{
					alert("Por favor repita la Contraseña.");
					frm.repetirContrasena.focus();
					return false;
				}
			}
			if(frm.contrasena != null && frm.contrasena.style.display != 'none' && frm.repetirContrasena != null && frm.repetirContrasena.style.display != 'none' && frm.contrasena.value != frm.repetirContrasena.value)
			{
				alert("Las Contraseñas proporcionadas no coinciden.");
				frm.contrasena.focus();
				return false;
			}
			if(frm.legajo != null && frm.legajo.style.display != 'none' && frm.legajo.value == "")
			{
				alert("Por favor ingrese el Legajo.");
				frm.legajo.focus();
				return false;
			}
			if(frm.idMotorola != null && frm.idMotorola.style.display != 'none' && frm.idMotorola.value == "")
			{
				alert("Por favor ingrese el ID Motorola.");
				frm.idMotorola.focus();
				return false;
			}
			if(frm.idMotorola != null && frm.idMotorola.style.display != 'none' && !validarIDMotorola(frm.idMotorola.value))
			{
				alert("ID Motorola Invalido. El ID Motorola consta de 4 letras seguidas de 5 números.");
				frm.idMotorola.focus();
				return false;
			}
			
			if(frm.grdSucursales != null && frm.grdSucursales.style.display != 'none' && frm.grdSucursales.length == 0)
			{
				alert("Por favor asocie al menos una Sucursal.");
				frm.sucursal.focus();
				return false;
			}
			if(frm.grdPerfiles != null && frm.grdPerfiles.style.display != 'none' && frm.grdPerfiles.length == 0)
			{
				alert("Por favor asocie al menos un Perfil.");
				frm.perfil.focus();
				return false;
			}
			
			guardarDatosGrilla(frm.grdSucursales, frm.sucursales);
			guardarDatosGrilla(frm.grdPerfiles, frm.perfiles);
			
			return true;
		}
		
		function modificar(idUsuario)
		{
			frm.iOpcion.value = 6;
			frm.idUsuario.value=idUsuario
			document.frm.submit();	
		}
		
		function eliminar(idUsuario)
		{
			frm.iOpcion.value = 4;
			frm.idUsuario.value=idUsuario
			document.frm.submit();	
		}
		</script>
	</head>
	<body onLoad="<?php echo "frm.".$focus.".focus();";?>">
    	<table cellpadding="0" cellspacing="0" align="center" class="tablaPrincipal">
        	<tr>
            	<td align="center">
                	<?php
					require("frmSession.php");
					switch ($iOpcion)
					{
						case 1:
						case 2:
						case 8:
						{
							if (!(in_array(1001, $_SESSION[permisos])))
							{
							?>
							  <script language="JavaScript" type="text/javascript">
							  	window.location.href = "sinPermisos.php"
							  </script>
							<?php
							}
							$titulo = "Nuevo usuario";
							break;
						}
						case 3:
						case 4:
						{
							if (!(in_array(1002, $_SESSION[permisos])))
							{
							?>
							  <script language="JavaScript" type="text/javascript">
							  	window.location.href = "sinPermisos.php"
							  </script>
							<?php
							}
							$titulo = "Eliminar Usuario";
							break;
						}
						case 5:
						case 6:
						case 7:
						{
							if (!(in_array(1003, $_SESSION[permisos])))
							{
							?>
							  <script language="JavaScript" type="text/javascript">
							  	window.location.href = "sinPermisos.php"
							  </script>
							<?php
							}
							$titulo = "Modificar Usuario";
							break;
						}
					}
					
					?>
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<?php
					require("frmTitulo.php");
					?>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="menuPrincipal">
                    	<tr>
                        	<td>
								<?php
                                require("frmMenu.php");
                                ?>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="tituloPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="texto" align="left"><?php echo $titulo; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
             <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <?php
			if($mensaje != '')
			{
			?>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="estadoPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="<?php echo $clase; ?>" align="left"><?php echo $mensaje; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <?php
			}
			?>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="contenedorPrincipal">
                    	<tr>
                        	<td>
                            	<form name="frm" method="post" onSubmit="return validar();" action="usuarios.php">
                                <table width="450">
                                <?php
								switch($iOpcion)
								{
									case 1:
									case 2:
									case 6:
									case 8:
									case 9:
									{
										if($iOpcion != 9)
										{
										?>
                                            <tr>
                                                <td width="120">
                                                    *Nombre:
                                                </td>
                                                <td>
                                                    <input style="width:100%;" type="text" name="nombre" size="30" maxlength="100" value="<?php echo stripslashes($nombre); ?>"/>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td width="120">
                                                    *Apellido:
                                                </td>
                                                <td>
                                                    <input style="width:100%;" type="text" name="apellido" size="30" maxlength="100" value="<?php echo stripslashes($apellido); ?>"/>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td width="120">
                                                    *Nombre de Usuario:
                                                </td>
                                                <td>
                                                    <input style="width:100%;" type="text" name="usuario" size="30" maxlength="100" value="<?php echo stripslashes($username); ?>"/>
                                                </td>
                                            </tr>
                                        <?php
										}
										?>
                                        <tr>
                                            <td width="120">
                                            	<?php if($id == ''){echo '*';}?>Contraseña:
                                            </td>
                                            <td>
                                            	<input style="width:100%;" type="password" name="contrasena" size="30" maxlength="100"/>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td width="120">
                                            	<?php if($id == ''){echo '*';}?>Repetir Contraseña:
                                            </td>
                                            <td>
                                            	<input style="width:100%;" type="password" name="repetirContrasena" size="30" maxlength="100"/>
                                            </td>
                                        </tr>
                                        <?php
                                        if($iOpcion != 9)
										{
										?>
                                            <tr>
                                                <td width="120">
                                                    *Legajo:
                                                </td>
                                                <td>
                                                    <input style="width:100%;" type="text" name="legajo" size="30" maxlength="4" value="<?php echo stripslashes($legajo); ?>"/>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td width="120">
                                                    *ID Motorola:
                                                </td>
                                                <td>
                                                    <input style="width:100%;" type="text" name="idMotorola" size="30" maxlength="9" value="<?php echo stripslashes($idMotorola); ?>"/>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    *Sucursales:
                                                </td>
                                                <td align="right">
                                                    <select name="sucursal" style="width:100%;">
                                                    <?php
                                                    foreach($sucursales as $sucursal)
                                                    {
                                                        echo "<option value='".$sucursal['idSucursal']."'>".$sucursal['nombre']."</option>";
                                                    }
                                                    ?>
                                                    </select>
                                                </td>
                                                <td>
                                                    <img src="images/mas.png" title="Agregar" class="imagen" onClick="pasarDeOrigenADestino(frm.sucursal,frm.grdSucursales);" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';">
                                                </td>
                                            </tr>
                                            <tr>
                                                <td colspan="2">
                                                    <select name="grdSucursales" size="5" style="width:100%;">
                                                    <?php
                                                        foreach($sucursalesxUsuario as $sucursalxUsuario)
                                                        {
                                                            echo "<option value='".$sucursalxUsuario['idSucursal']."'>".$sucursalxUsuario['nombre']."</option>";
                                                        }
                                                    ?>
                                                    <script language="javascript">
                                                    //Saca del combo lo que está en la grilla
                                                    var i=0;
                                                    var j=0;
                                                    for(i=0; i<frm.grdSucursales.options.length; i++)
                                                    {
                                                        for(j=0; j<frm.sucursal.options.length;j++)
                                                        {
                                                            if(frm.grdSucursales.options[i].value == frm.sucursal.options[j].value)
                                                            {
                                                                frm.sucursal.options[j] = null;	
                                                            }
                                                        }
                                                    }
                                                    </script>
                                                    </select>
                                                </td>
                                                <td valign="top">
                                                    <img src="images/menos.png" title="Quitar" class="imagen" onClick="pasarDeOrigenADestino(frm.grdSucursales, frm.sucursal);" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';">
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>
                                                    *Perfiles:
                                                </td>
                                                <td align="right">
                                                    <select name="perfil" style="width:100%;">
                                                    <?php
                                                    foreach($perfiles as $perfil)
                                                    {
                                                        echo "<option value='".$perfil['idPerfil']."'>".$perfil['nombre']."</option>";
                                                    }
                                                    ?>
                                                    </select>
                                                </td>
                                                <td>
                                                    <img src="images/mas.png" title="Agregar" class="imagen" onClick="pasarDeOrigenADestino(frm.perfil,frm.grdPerfiles);" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';">
                                                </td>
                                            </tr>
                                            <tr>
                                                <td colspan="2">
                                                    <select name="grdPerfiles" size="5" style="width:100%;">
                                                    <?php
                                                        foreach($perfilesxUsuario as $perfilxUsuario)
                                                        {
                                                            echo "<option value='".$perfilxUsuario['idPerfil']."'>".$perfilxUsuario['nombre']."</option>";
                                                        }
                                                    ?>
                                                    <script language="javascript">
                                                    //Saca del combo lo que está en la grilla
                                                    var i=0;
                                                    var j=0;
                                                    for(i=0; i<frm.grdPerfiles.options.length; i++)
                                                    {
                                                        for(j=0; j<frm.perfil.options.length;j++)
                                                        {
                                                            if(frm.grdPerfiles.options[i].value == frm.perfil.options[j].value)
                                                            {
                                                                frm.perfil.options[j] = null;	
                                                            }
                                                        }
                                                    }
                                                    </script>
                                                    </select>
                                                </td>
                                                <td valign="top">
                                                    <img src="images/menos.png" title="Quitar" class="imagen" onClick="pasarDeOrigenADestino(frm.grdPerfiles, frm.perfil);" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';">
                                                </td>
                                            </tr>
                                        <?php
										}
										?>
                                        <tr>
                                            <td colspan="2" align="center" style="padding-top:10px;">
                                                <input type="submit" name="btnGuardar" value="Guardar"/>
                                                <input type="button" name="btnCerrar" value="Cerrar" onClick="window.top.location='<?php
                                                switch($iOpcion)
												{
													case 1:
													case 2:
													case 3:
													case 5:
													case 8:
													case 9:
													{
														echo "main.php";
														break;	
													}
													case 6:
													{
														echo "usuarios.php?iOpcion=5";
														break;	
													}
													case 4:
													{
														echo "usuarios.php?iOpcion=3";
														break;	
													}
												}?>';"/>
                                            </td>    
                                        </tr>
                                    <?php
										break;
									}
									case 3:
									case 4:
									case 5:
									case 7:
									{
									?>
                                        <tr>
                                        	<th class="listaHead">
                                                Apellido
                                            </th>
                                            <th class="listaHead" colspan="2">
                                                Nombre
                                            </th>
                                        </tr>
                                        <?php
										$i=1;
                                        foreach($usuarios as $usuario)
                                        {
											if($i%2==0){$row='par';}else{$row='impar';}
											echo "<tr class='$row'>";
												echo "<td>";
													echo $usuario['apellido'];
												echo "</td>";
												echo "<td>";
													echo $usuario['nombre'];
												echo "</td>";
												echo "<td width='1%'>";
												switch($iOpcion)
												{
													case 3:
													case 4:
													{
												?>
                                                		<img onClick="if(<?php echo $_SESSION['idUsuario'];?> == <?php echo $usuario['idUsuario'];?>){alert('No puede eliminarse a usted mismo');}else{if(confirm('Esta seguro que desea eliminar el Usuario: <?php echo " ".str_replace("'","",$usuario['apellido'].', '.$usuario['nombre']);?>?')){eliminar(<?php echo $usuario['idUsuario']; ?>);}}" class="imagen" src="images/eliminar.png" alt="Eliminar" title="Eliminar" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';">
			  											</a>
                                                <?php
														break;
													}
													case 5:
													case 6:
													case 7:
													{
													?>
                                                    	<img onClick="modificar(<?php echo $usuario['idUsuario']; ?>);" class="imagen" src="images/modificar.png" alt="Modificar" title="Modificar" onMouseOver="this.className='flyOver';" onMouseOut="this.className='flyOut';"> 
			  											</a>
                                                    <?php
													}
												}
												echo "</td>";
											echo "</tr>";
											$i++;
                                        }
										?>
                                        <tr>
                                        	<td colspan="2" align="center" style="padding-top:10px;">
                                        		<input type="button" name="btnCerrar" value="Cerrar" onClick="window.top.location='main.php';"/>
                                            </td>
                                        </tr>
                                        <?php
										break;
									}
								}
									?>
                                </table>
                                <?php
								switch($iOpcion)
								{
									case 1:
									case 2:
									case 8:
									{
										$iOpcion = 2;
										break;
									}
									case 6:
									{
										$iOpcion = 7;
										break;	
									}
									case 9:
									{
										$iOpcion = 10;
										break;
									}
								}
								?>
                                <input type="hidden" name="iOpcion" value="<?php echo $iOpcion?>"/>
                                <input type="hidden" name="idUsuario" value="<?php echo $id?>"/>
                                <input type="hidden" name="sucursales"/>
                                <input type="hidden" name="perfiles"/>
                                </form>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
	</body>
</html>